using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{

    public class LoansHeader
    {
        #region Properties
        // LOANS_HEADER_ID
        public virtual int LoansHeaderID { set; get; }
        // COMPANY_NAME
        public virtual String CompanyName { set; get; }
        // COMPANY_ID
        public virtual int? CompanyID { set; get; }
        // MATURITY_STATUS
        public virtual String MaturityStatus { set; get; }
        // LOAN_TYPE_ID
        public virtual int? LoanTypeID { set; get; }
        // LOAN_TYPE_NAME
        public virtual String LoanTypeName { set; get; }
        // CONTRACT_NUMBER
        public virtual String ContractNumber { set; get; }
        // LOAN_OBJECTIVE_ID
        public virtual int? LoanObjectiveID { set; get; }
        // BORROWER_NAME
        public virtual String BorrowerName { set; get; }
        // BORROWER_OCCUPATION_NAME
        public virtual String BorrowerOccupationName { set; get; }
        // BORROWER_OCCUPATION_ID
        public virtual int? BorrowerOccupationID { set; get; }
        // BORROWER_ID_CARD_NO
        public virtual String BorrowerIDCardNO { set; get; }
        // GUARANTOR_NAME
        public virtual String GuarantorName { set; get; }
        // GUARANTOR_OCUUPATION_NAME
        public virtual String GuarantorOcuupationName { set; get; }
        // GUARANTOR_OCUUPATION_ID
        public virtual int? GuarantorOcuupationID { set; get; }
        // GUARANTOR_ID_CARD_NO
        public virtual String GuarantorIDCardNO { set; get; }
        // GUARANTEE_TYPE_ID
        public virtual int? GuaranteeTypeID { set; get; }
        // MORTGAGOR_NAME_1
        public virtual String MortgagorName1 { set; get; }
        // MORTGAGOR_NAME_2
        public virtual String MortgagorName2 { set; get; }
        // MORTGAGOR_NAME_3
        public virtual String MortgagorName3 { set; get; }
        // ASSESSMENT_MORTGATE_ID
        public virtual int? AssessmentMortgateID { set; get; }
        // TITLE_DEED_MAPSHEET_NO
        public virtual String TitleDeedMapsheetNO { set; get; }
        // TITLE_DEED_PARCEL_NO
        public virtual String TitleDeedParcelNO { set; get; }
        // TITLE_DEED_DEALING_FILE_NO
        public virtual String TitleDeedDealingFileNO { set; get; }
        // TITLE_DEED_NO
        public virtual String TitleDeedNO { set; get; }
        // TITLE_DEED_VOLUMN
        public virtual String TitleDeedVolumn { set; get; }
        // TITLE_DEED_PAGE
        public virtual String TitleDeedPage { set; get; }
        // TITLE_DEED_PROVINCE_NAME
        public virtual String TitleDeedProvinceName { set; get; }
        // TITLE_DEED_PROVINCE_ID
        public virtual int? TitleDeedProvinceID { set; get; }
        // TITLE_DEED_DISTRICT_NAME
        public virtual String TitleDeedDistrictName { set; get; }
        // TITLE_DEED_DISTRICT_ID
        public virtual int? TitleDeedDistrictID { set; get; }
        // TITLE_DEED_SUB_DISTRICT_NAME
        public virtual String TitleDeedSubDistrictName { set; get; }
        // TITLE_DEED_SUB_DISTRICT_ID
        public virtual int? TitleDeedSubDistrictID { set; get; }
        // TITLE_DEED_TOTAL_AREA
        public virtual String TitleDeedTotalArea { set; get; }
        // APARTMENT_NO
        public virtual String ApartmentNO { set; get; }
        // APARTMENT_FLOOR
        public virtual String ApartmentFloor { set; get; }
        // APARTMENT_BUILDING_NO
        public virtual String ApartmentBuildingNO { set; get; }
        // APARTMENT_BUILDING_NAME
        public virtual String ApartmentBuildingName { set; get; }
        // REGISTER_BUILDING_NO
        public virtual String RegisterBuildingNO { set; get; }
        // MORTGAGE_DATE
        public virtual DateTime? MortgageDate { set; get; }
        // CONTRACT_START_DATE
        public virtual DateTime? ContractStartDate { set; get; }
        // CONTRACT_END_DATE
        public virtual DateTime? ContractEndDate { set; get; }
        // ASSESSMENT_DATE
        public virtual DateTime? AssessmentDate { set; get; }
        // ASSESSMENT_COST
        public virtual decimal? AssessmentCost { set; get; }
        // ASSET_VALUE
        public virtual decimal? AssetValue { set; get; }
        // CONTRACT_AMOUNT
        public virtual decimal? ContractAmount { set; get; }
        // LIQUIDITY_TIER_I_PERCENT
        public virtual int? LiquidityTierIPercent { set; get; }
        // LIQUIDITY_TIER_II_PERCENT
        public virtual int? LiquidityTierIIPercent { set; get; }
        // LIQUIDITY_LOW_LIQUIDITY_PERCENT
        public virtual int? LiquidityLowLiquidityPercent { set; get; }
        // LIQUIDITY
        public virtual String Liquidity { set; get; }
        // INVOLVED_PARTY_TYPE_ID
        public virtual int? InvolvedPartyTypeId { set; get; }
        // INVOLVED_PARTY_TYPE_NAME
        public virtual String InvolvedPartyTypeName { set; get; }
        // INSURANCE_NO
        public virtual String InsuranceNO { set; get; }
        // PROTECTION_START_DATE
        public virtual DateTime? ProtectionStartDate { set; get; }
        // PROTECTION_END_DATE
        public virtual DateTime? ProtectionEndDate { set; get; }
        // CREATE_DATE
        public virtual DateTime? CreateDate { set; get; }
        // CREATE_BY
        public virtual String CreateBY { set; get; }
        // MODIFY_DATE
        public virtual DateTime? ModifyDate { set; get; }
        // MODIFY_BY
        public virtual String ModifyBY { set; get; }

        #endregion



        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
            if (obj.GetType() != typeof(LoansHeader) && !(obj is LoansHeader))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}", LoansHeaderID);
        }

    }


}